package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.Destination;
import cn.wolfcode.luowowo.article.domain.Region;
import cn.wolfcode.luowowo.common.query.QueryObject;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 提供目的地的相关服务
 */
public interface IDestinationService {

    /**
     * 分页查新
     */
    PageInfo query(QueryObject qo);

    /**
     * 根据parentId查询目的地
     *
     * @param parentId
     * @return
     */
    List<Destination> listToast(Long parentId);

    /**
     * 根据区域id查询所有目的地(关联地区的查询)
     *
     * @param rid
     * @return
     */
    List<Destination> listDestByRegionId(Long rid);

    /**
     * 区域管理编辑和添加(查询所有目的地)
     *
     * @return
     */
    List<Destination> listDests();

    AjaxResult saveOrUpdate(Region entity);

    /**
     * 查询区域下面的目的地
     *
     * @param regionId
     * @return
     */
    List<Destination> listHotDestByRegionId(Long regionId);

    Destination get(Long destId);

    /**
     * 查询所有的目的地
     *
     * @return
     */
    List<Destination> list();

    /**
     * 获取该目的地的国家,通过土司直接获取
     * @param destId
     * @return
     */
    Destination getCountry(Long destId);

    /**
     * 获取该目的地下的省份,通过土司直接获取
     * @param destId
     * @return
     */
    Destination getProvince(Long destId);
}
